package com.wangxiaonan.wxwork.service;

import com.alibaba.fastjson.JSONObject;
import com.wangxiaonan.wxwork.domain.Agent;
import java.util.List;

/**
 * 自建应用管理
 *
 * @Author: wangxiaonan
 * @Date: 2018/8/22
 **/
public interface AgentService {

    String DEFAULT_GET_AGENT_GET_URL = "https://qyapi.weixin.qq.com/cgi-bin/agent/get?access_token=%s&agentid=%s";
    String DEFAULT_POST_AGENT_SET_URL = "https://qyapi.weixin.qq.com/cgi-bin/agent/set?access_token=%s";
    String DEFAULT_GET_AGENT_LIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/agent/list?access_token=%s";

    /**
     * 获取应用详情
     *
     * @param token 必须  调用接口凭证
     * @param agentId 必须  授权方应用id
     */
    JSONObject getAgent(String token, String agentId);

    /**
     * 设置应用信息
     *
     * @param token 必须  调用接口凭证
     * @param jsonParam 必须  请求参数
     */
    JSONObject setAgent(String token, String jsonParam);

    /**
     * 获取应用列表
     *
     * @param token 必须  调用接口凭证
     */
    JSONObject getAgentList(String token);

    /* **********************数据库访问服务*********************** */

    Agent queryAgentById(String agentId);

    List<Agent> queryAgentList(Integer limitStart, Integer pageSize);

    int saveAgent(Agent agent);
}
